The present invention relates to a method, computer program and system for preventing unfair or unauthorized use of software (or for protecting the copyright of the software). The present invention relates to a technique for inhibiting unfair or unauthorized use of software on an unregistered computer by using key data which is characteristic of or specific to a registered computer, and the present invention is effective, for example, for preventing unfair copying of software when installing the software into a computer, or for preventing unfair use of software after having been installed in a computer.
Among typical examples of the prior art techniques for preventing unfair use of software or unfair copying is a method based on use of a password. This prior art method permits an interested user to use or copy desired software, only when the interested user has entered a predetermined valid password acquired from a predetermined lincenser. However, this password-based method is incomplete as a means for preventing the unfair use of software, in that a user could easily tell his/her password to a potential unfair user and that the unfair user can use or copy the software by just entering the password whenever required. It is obvious that this method can not fully protect the copyright of software developers.
As another example of the prior art techniques, there is known a method based on use of a hardware key, which uses, as the key, hardware having particular information and is intended to more reliably ensure the copyright protection of software. This method permits a user to use or copy software on a computer, by determining whether the hardware key is connected with the computer. This method is suited for stronger or more reliable copyright protection than the above-mentioned password-based method, due to the difficulty encountered in copying hardware. But, because of its dependence on hardware, this hardware-key-based method would require relatively great costs and thus can be applied to only some expensive software. In addition, this method is not suited for recent software distribution in which supply, sale and purchase of software are readily performed on an online basis via a communication network such as the Internet.
As another example of the prior art techniques, there is known an unfair copy preventing method which uses a relatively inexpensive storage media to realize a protection function similar to that of the above-mentioned hardware-key-based method. In this media-based unfair copy preventing method, software is stored in a portable storage media, such as a floppy disk, and distributed in the form of such a portable storage media. Predetermined data is additionally written onto the storage media at the time of installation of the software; and it restricts the installation, from the next attempt of installation, based on the written data in the storage media. However, those techniques are not suited for the recent form for distributing software conveniently online via communication network, because they require some portable storage media for the distribution of the software. Further, those techniques have problems including that it is not applicable to those computers which do not possess some device for reading and writing on the certain storage media, and that new storage media is necessary even for a registered user to re-install the software.
As described above, those techniques which do not utilize characteristic information identifying a computer can not very effectively prevent the unfair copy of software onto unregistered computers. In other words, with those techniques, software could be easily and unfairly used or copied by using the same storage media, the same serial number, or the same password. Other prior art techniques utilize characteristic information of OS (the operating system) to prevent such easily practicable unfair copy described above. Those techniques require that the OS of a computer is supposed to store an unique ID of the computer in some manner, that the software has a key data which has information on an unique ID of a registered computer where the software is permitted to be used, and that the software compares the ID stored in the computer with the ID stored in the key data for authorizing the use of the software on the computer. Those prior art techniques can protect software more effectively than the weaker techniques described earlier, but they are costly in that a different programs must be developed for different OS(s). In addition, they can not be directly applied to preventing the unfair use or unfair copying of a growing number of “cross platform” software, such as many programs written in Java programming language, which, by its definition, can be executed on different OS(s) without being modified.